package cn.lg.soar.message.api.service;

import cn.lg.soar.common.util.AssertUtil;
import cn.lg.soar.message.api.model.NoticeDTO;

import java.util.Arrays;
import java.util.List;

/**
 * @author luguoxiang
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
public interface INoticeApi {

    /**
     * 广播（所有用户）
     */
    void broadcast(NoticeDTO dto);

    /**
     * 给指定用户
     * @param dto
     * @param userIds
     */
    void toUser(NoticeDTO dto, List<Long> userIds);

    /**
     * 给指定用户
     * @param dto
     * @param userIds
     */
    default void toUser(NoticeDTO dto, Long ...userIds) {
        AssertUtil.notEmpty(userIds, "请指定用户");
        toUser(dto, Arrays.asList(userIds));
    }

}
